PLSQL sub sttring คั่นด้วย | ใช้ REGEXP_SUBSTR ตอบโจทย์
แต่ก่อนเคยใช้คำสั่งพวก in_str ร่วมกับ substr แล้วมัน งงๆ
วันนี้ลองมาใช้ REGEXP_SUBSTR แล้วรู้สึกว่ามันง่ายจริง
ตามตัวอย่าง
SELECT
REGEXP_SUBSTR( '|1||7|5000', '([^|]*)(\||$)', 1, 4, NULL, 1 ) AS val
FROM dual
จากตัวอย่าง Run แล้วจะได้ 7 นะ
จุดสังเกตุตรงนี้
1, 4, NULL, 1
ค่านี้คือตำแหน่งของค่าที่เราต้องการนับตามตัวคั่นนะ
ตามตัวอย่างคือคั่นด้วย | ตำแหน่งที่ 4